package router

import (
	"github.com/facebookgo/inject"
	"github.com/teambition/gear"
	"jgt-oper/src/api"
	"jgt-oper/src/context"
)

// APIPublicResourceMap 移动端公共资源相关路由
func APIPublicResourceMap(g *inject.Graph, r *gear.Router) {
	a := new(api.PublicResourceController)
	err := g.Provide(&inject.Object{Value: a})
	if err != nil {
		panic(err)
	}
	//	查询默认的申请人信息
	r.Get("/public-resource/default/applicant", context.WrapContext(a.GetDefaultApplicant))
	//	查询可选的资源
	r.Get("/public-resource/default/resources", context.WrapContext(a.GetDefaultResources))
	//	查询资源的基本信息
	r.Get("/public-resource/resource-info", context.WrapContext(a.GetResource))
	//	查询资源的预定信息
	r.Get("/public-resource/reserve-info", context.WrapContext(a.GetReserveInfo))
	//	申请人查询列表
	r.Get("/public-resource/reserve-page", context.WrapContext(a.QueryReservedPage))
	//	物业管理员查询列表
	r.Get("/public-resource/page", context.WrapContext(a.QueryPage))
	//	查询预定记录的详情
	r.Get("/public-resource/reserve-detail", context.WrapContext(a.QueryReserveDetail))
	//	创建预定记录
	r.Post("/public-resource/create", context.WrapContext(a.Create))
	//	更新预定记录
	r.Put("/public-resource/update", context.WrapContext(a.Update))
}
